/*
 * InterruptController.h
 *
 *  Created on: May 3, 2011
 *      Author: aaw714
 */

#ifndef INTERRUPTCONTROLLER_H_
#define INTERRUPTCONTROLLER_H_

//Bibliotheken
#include <pthread.h>
#include <stdio.h>
#include <sys/neutrino.h>
#include <hw/inout.h>
#include <cstdlib>
#include <iostream>
#include <unistd.h>
#include <errno.h>

#include "HAWThread.h"
#include "SensorStates.h"

#include "Base.h"
#include "Timer.h"
#include "AmpelController.h"

class InterruptController : public thread::HAWThread {
private:
    virtual void execute(void*); //virtual bedeutet: abstract
    virtual void shutdown();
	//void sensorState(Sensor_states, int);

    Base * base_ptr;

public:
	InterruptController(Base *);
	virtual ~InterruptController();
private:
	AmpelController * ampelCon;
	HAL * hal;
	int ampelRot;
};

#endif /* INTERRUPTCONTROLLER_H_ */
